package vip.xiaonuo.supplier.modular.business.businessMain.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.supplier.modular.business.businessMain.entity.SupplierBusinessMain;
import vip.xiaonuo.supplier.modular.business.businessMain.param.SupplierBusinessMainAddParam;
import vip.xiaonuo.supplier.modular.business.businessMain.param.SupplierBusinessMainEditParam;
import vip.xiaonuo.supplier.modular.business.businessMain.param.SupplierBusinessMainIdParam;
import vip.xiaonuo.supplier.modular.business.businessMain.param.SupplierBusinessMainPageParam;

import java.util.List;

/**
 * 业务主表Service接口
 *
 * @author Mr.wu
 * @date  2025/03/26 11:03
 **/
public interface SupplierBusinessMainService extends IService<SupplierBusinessMain> {

    /**
     * 获取业务主表分页
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    Page<SupplierBusinessMain> page(SupplierBusinessMainPageParam supplierBusinessMainPageParam);

    /**
     * 添加业务主表
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    SupplierBusinessMain add(JSONObject supplierBusinessMainJson);

    /**
     * 编辑业务主表
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    SupplierBusinessMain edit(JSONObject supplierBusinessMainJson);

    /**
     * 删除业务主表
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    void delete(List<SupplierBusinessMainIdParam> supplierBusinessMainIdParamList);

    /**
     * 获取业务主表详情
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    SupplierBusinessMain detail(SupplierBusinessMainIdParam supplierBusinessMainIdParam);

    /**
     * 获取业务主表详情
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     **/
    SupplierBusinessMain queryEntity(String id);

    /**
     * 作废业务主表
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    void cancel(List<SupplierBusinessMainIdParam> supplierBusinessMainIdParamList);

    /**
     * 获取待结算业务主表分页
     *
     * @author Mr.wu
     * @date  2025/03/26 11:03
     */
    Page<SupplierBusinessMain> pendingPage(SupplierBusinessMainPageParam supplierBusinessMainPageParam);

}
